#!/usr/bin/env python
#-*-coding: utf-8 -*-
'''
python 练习 订阅者节点
接收2个int型数据
A   
B  
并且计算 Sum = A + B  
'''
#=================程序开始=================#
import rospy
#导入mgs到pkg中
from topic_demo.msg import int2

#回调函数输入的应该是msg
def callback(int2):
    Sum = int2.A + int2.B
    rospy.loginfo('Listener:Sum = %s',Sum)

#订阅话题
def listener():
    #发布 pylistener 节点
    rospy.init_node('pylistener', anonymous=True)
    rospy.loginfo("Listener Ready!")
    #Subscriber函数第一个参数是topic的名称，第二个参数是接受的数据类型 第三个参数是回调函数的名称
    rospy.Subscriber('Topic_Sum2', int2, callback)
    # 保持节点运行，直到节点关闭。不像roscpp
    # rospy.spin不影响订阅的回调函数，因为回调函数有自己的线程
    rospy.spin()

if __name__ == '__main__':
    listener()

